import { defineStore } from 'pinia'

/**
 * 前端登录页发送Login请求
 * 后端验证凭证是否正确
 * 若失败
 *    告诉前端验证失败。回到6
 * 若成功
 *    后端生成凭证信息，为一个token，发给前端。之后前端的每个接口携带token
 *    
 * 成功后续
 *    token会有生效时间，生效时间过了，后端就会返回失败信息，前端清除token。
 * 
 * 
 * 前端发送User请求
 * 后端返回用户信息
 * 
 * 在user这个store中，具有用户token及基本信息相关的字段、字段更新的方法
 * 登录页调用，也能更新store中的user数据。topbar能获取user的值
 *  
 */

/**
 * 当前用户信息存储
 * @example {token:"",userId:-1,nickName:""}
 */
export const useUserStore = defineStore('user', {
  state: () => {
    return {
      token: "aaav",
      userId: -1,
      nickName: ""
    }
  },
  actions: {
    setToken(token: string) {
      this.token = token;
    },
  }
})
